Two important categories of computer-based searching are desktop search and web search. In desktop search, users search their personal desktop resources primarily for files they know exist but for which they have forgotten the exact storage locations and keywords. The search queries in this case are often referred to as “known item” search queries. Conventional desktop search systems such as Google Desktop, Microsoft Windows Desktop Search, and Apple Spotlight typically only support keyword searches that rank results by their relevance to the query. These desktop search systems generally do not consider user preferences, and personalized results are typically not provided. Most conventional web search systems also do not distinguish between different users, and instead rank search results according to the preferences of most users.
The “known item” search queries of desktop search can benefit from the use of a highly personalized search engine. See, for example, J. Chen et al., “Search your memory!—an associative memory based desktop search system,” Proceedings of the 35th SIGMOD International Conference on Management of Data, Providence, R.I., USA, Jun. 29-Jul. 2, 2009, which is incorporated by reference herein. Techniques disclosed in this reference exploit semantic associations among resources by analyzing user activities to simulate human associative memory, and provide a personalized ranking scheme that utilizes these links, together with user personal preferences, to rank results by both relevance and importance.
Recently, web search systems have begun to model query contexts by mining searches or browsing logs (e.g. clickthrough data) in an attempt to personalize the search results. However, because such systems typically only consider query strings and simple clickthrough data, they fail to provide adequate personalization of the search.